using System;
using System;
using System.Collections.Generic;
using Sce.Pss.Core.Graphics;
using Sce.Pss.HighLevel.GameEngine2D;
using Sce.Pss.HighLevel.GameEngine2D.Base;
using Sce.Pss.Core;
using Sce.Pss.Core.Environment;

using Sce.Pss.Core.Imaging;
using Sce.Pss.Core.Input;

namespace RedSkies
{
	public interface IWorldMatrix
	{
		 byte? GetElementByGraphixCoordinates(int xGraph, int yGraph);
		
		 Rectangle GetGraphixRectangleByMapCoordinates(int x, int y);
		
		byte TileSize{get;set;}
		
		List<WorldSprite> GetAllWorldspriteBeetween(int x, int xMax, int y, int yMax);
		
		void RemoveAllBetween(int xMatrixOutOfScreenStart,int xMatrixOutOfScreen,int yMatrixOnScreenStart,int yMatrixOnScreenMax);
		
		void CreateInitialWorld();		
		
		void AddWorldspriteBetween(int x, int xMax, int y, int yMax);
		
		List<byte> GetAllElementsBeetweenGraphicCoordinates(int x, int xMax, int y, int yMax);
		
		Rectangle GetHighestSpriteRectangleBetweenGraphixCoordinates(int xGraph, int xGraphMax, int yGraph, int yGraphMax);
	}
}

